home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD School House 10
/
CD School House - Education and Games (10.0) - Wayzata Technology (1995).iso
/
mac
/
DOS
/
MISC
/
ESPTEST
/
ESPIMAGE.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1994-05-20
|
25KB
|
718 lines
{**********************************************************}
{** Copyright 1991 Phil Mosier **}
{**********************************************************}
Unit ESPIMAGE;
{**********************************************************}
{** **}
{** An unit of images **}
{** **}
{**********************************************************}
Interface
Uses GRAPH, CRT;
Procedure IMAGE_1(LEFT_X_VAL:Integer;TOP_Y_VAL:Integer;SIZE_FACTOR:Real);
Procedure IMAGE_2(LEFT_X_VAL:Integer;TOP_Y_VAL:Integer;SIZE_FACTOR:Real);
Procedure IMAGE_3(LEFT_X_VAL:Integer;TOP_Y_VAL:Integer;SIZE_FACTOR:Real);
Procedure IMAGE_4(LEFT_X_VAL:Integer;TOP_Y_VAL:Integer;SIZE_FACTOR:Real);
Procedure IMAGE_5(LEFT_X_VAL:Integer;TOP_Y_VAL:Integer;SIZE_FACTOR:Real);
Procedure MAKE_MENU;
Procedure SONG;
Procedure PROGRAM_INFO;
Procedure BOXES;
Implementation
Procedure IMAGE_1(lEFT_X_VAL:Integer;TOP_Y_VAL:Integer;SIZE_FACTOR:Real);
{*********************************************************}
{** **}
{** Declare Image 1's values Cleft **}
{** **}
{*********************************************************}
Var INDEX : integer;
IMAGE_1_ARRAY : Array[1..28,1..2] Of Byte;
CENTER_X : Integer;
CENTER_Y : Integer;
Begin
IMAGE_1_ARRAY[1,1] := 24;
IMAGE_1_ARRAY[1,2] := 32;
IMAGE_1_ARRAY[2,1] := 21;
IMAGE_1_ARRAY[2,2] := 29;
IMAGE_1_ARRAY[3,1] := 21;
IMAGE_1_ARRAY[3,2] := 26;
IMAGE_1_ARRAY[4,1] := 24;
IMAGE_1_ARRAY[4,2] := 24;
IMAGE_1_ARRAY[5,1] := 28;
IMAGE_1_ARRAY[5,2] := 23;
IMAGE_1_ARRAY[6,1] := 32;
IMAGE_1_ARRAY[6,2] := 24;
IMAGE_1_ARRAY[7,1] := 34;
IMAGE_1_ARRAY[7,2] := 28;
IMAGE_1_ARRAY[8,1] := 32;
IMAGE_1_ARRAY[8,2] := 34;
IMAGE_1_ARRAY[9,1] := 24;
IMAGE_1_ARRAY[9,2] := 36;
IMAGE_1_ARRAY[10,1] := 18;
IMAGE_1_ARRAY[10,2] := 34;
IMAGE_1_ARRAY[11,1] := 14;
IMAGE_1_ARRAY[11,2] := 29;
IMAGE_1_ARRAY[12,1] := 14;
IMAGE_1_ARRAY[12,2] := 25;
IMAGE_1_ARRAY[13,1] := 18;
IMAGE_1_ARRAY[13,2] := 20;
IMAGE_1_ARRAY[14,1] := 24;
IMAGE_1_ARRAY[14,2] := 16;
IMAGE_1_ARRAY[15,1] := 29;
IMAGE_1_ARRAY[15,2] := 12;
IMAGE_1_ARRAY[16,1] := 29;
IMAGE_1_ARRAY[16,2] := 8;
IMAGE_1_ARRAY[17,1] := 26;
IMAGE_1_ARRAY[17,2] := 2;
IMAGE_1_ARRAY[18,1] := 22;
IMAGE_1_ARRAY[18,2] := 8;
IMAGE_1_ARRAY[19,1] := 30;
IMAGE_1_ARRAY[19,2] := 42;
IMAGE_1_ARRAY[20,1] := 28;
IMAGE_1_ARRAY[20,2] := 46;
IMAGE_1_ARRAY[21,1] := 24;
IMAGE_1_ARRAY[21,2] := 48;
IMAGE_1_ARRAY[22,1] := 20;
IMAGE_1_ARRAY[22,2] := 46;
IMAGE_1_ARRAY[23,1] := 18;
IMAGE_1_ARRAY[23,2] := 42;
IMAGE_1_ARRAY[24,1] := 20;
IMAGE_1_ARRAY[24,2] := 40;
IMAGE_1_ARRAY[25,1] := 24;
IMAGE_1_ARRAY[25,2] := 41;
IMAGE_1_ARRAY[26,1] := 23;
IMAGE_1_ARRAY[26,2] := 44;
IMAGE_1_ARRAY[27,1] := 20;
IMAGE_1_ARRAY[27,2] := 44;
For INDEX := 1 To 26 Do Begin
Line((Round(LEFT_X_VAL + (IMAGE_1_ARRAY[INDEX,1] * SIZE_FACTOR))),
(Round(TOP_y_VAL + (IMAGE_1_ARRAY[INDEX,2] * SIZE_FACTOR))),
(Round(LEFT_X_VAL + (IMAGE_1_ARRAY[INDEX + 1,1] * SIZE_FACTOR))),
(Round(TOP_Y_VAL + (IMAGE_1_ARRAY[INDEX + 1,2] * SIZE_FACTOR))));
End;
CENTER_X := LEFT_X_VAL + (Round( 20 * SIZE_FACTOR));
CENTER_Y := TOP_Y_VAL + (Round (42 * SIZE_FACTOR));
FloodFill(CENTER_X,CENTER_Y,GetMaxColor);
End;
Procedure IMAGE_2(lEFT_X_VAL:Integer;TOP_Y_VAL:Integer;SIZE_FACTOR:Real);
{*********************************************************}
{** **}
{** Declare Image 2's values Heart **}
{** **}
{*********************************************************}
Var INDEX : Integer;
IMAGE_2_ARRAY : Array[1..23,1..2] Of Byte;
CENTER_X : Integer;
CENTER_Y : Integer;
Begin
IMAGE_2_ARRAY[1,1] := 25;
IMAGE_2_ARRAY[1,2] := 10;
IMAGE_2_ARRAY[2,1] := 28;
IMAGE_2_ARRAY[2,2] := 6;
IMAGE_2_ARRAY[3,1] := 32;
IMAGE_2_ARRAY[3,2] := 4;
IMAGE_2_ARRAY[4,1] := 35;
IMAGE_2_ARRAY[4,2] := 3;
IMAGE_2_ARRAY[5,1] := 40;
IMAGE_2_ARRAY[5,2] := 4;
IMAGE_2_ARRAY[6,1] := 44;
IMAGE_2_ARRAY[6,2] := 6;
IMAGE_2_ARRAY[7,1] := 48;
IMAGE_2_ARRAY[7,2] := 12;
IMAGE_2_ARRAY[8,1] := 49;
IMAGE_2_ARRAY[8,2] := 17;
IMAGE_2_ARRAY[9,1] := 49;
IMAGE_2_ARRAY[9,2] := 21;
IMAGE_2_ARRAY[10,1] := 40;
IMAGE_2_ARRAY[10,2] := 32;
IMAGE_2_ARRAY[11,1] := 32;
IMAGE_2_ARRAY[11,2] := 38;
IMAGE_2_ARRAY[12,1] := 25;
IMAGE_2_ARRAY[12,2] := 47;
IMAGE_2_ARRAY[13,1] := 18;
IMAGE_2_ARRAY[13,2] := 38;
IMAGE_2_ARRAY[14,1] := 10;
IMAGE_2_ARRAY[14,2] := 32;
IMAGE_2_ARRAY[15,1] := 1;
IMAGE_2_ARRAY[15,2] := 21;
IMAGE_2_ARRAY[16,1] := 1;
IMAGE_2_ARRAY[16,2] := 17;
IMAGE_2_ARRAY[17,1] := 2;
IMAGE_2_ARRAY[17,2] := 12;
IMAGE_2_ARRAY[18,1] := 6;
IMAGE_2_ARRAY[18,2] := 6;
IMAGE_2_ARRAY[19,1] := 10;
IMAGE_2_ARRAY[19,2] := 4;
IMAGE_2_ARRAY[20,1] := 15;
IMAGE_2_ARRAY[20,2] := 3;
IMAGE_2_ARRAY[21,1] := 20;
IMAGE_2_ARRAY[21,2] := 4;
IMAGE_2_ARRAY[22,1] := 22;
IMAGE_2_ARRAY[22,2] := 6;
IMAGE_2_ARRAY[23,1] := 25;
IMAGE_2_ARRAY[23,2] := 10;
For INDEX := 1 To 22 Do Begin
Line((Round(LEFT_X_VAL + (IMAGE_2_ARRAY[INDEX,1] * SIZE_FACTOR))),
(Round(TOP_Y_VAL + (IMAGE_2_ARRAY[INDEX,2] * SIZE_FACTOR))),
(Round(LEFT_X_VAL + (IMAGE_2_ARRAY[INDEX + 1,1] * SIZE_FACTOR))),
(Round(TOP_Y_VAL + (IMAGE_2_ARRAY[INDEX + 1,2] * SIZE_FACTOR))));
End;
CENTER_X := LEFT_X_VAL + 1 + (Round ( 24 * SIZE_FACTOR));
CENTER_Y := TOP_Y_VAL + (Round (24 * SIZE_FACTOR));
FloodFill(CENTER_X,CENTER_Y,GetMaxColor);
End;
Procedure IMAGE_3(lEFT_X_VAL:Integer;TOP_Y_VAL:Integer;SIZE_FACTOR:Real);
{*********************************************************}
{** **}
{** Declair image 3's values Ying-Yang **}
{** **}
{*********************************************************}
Var CENTER_X : Integer;
CENTER_Y : Integer;
RADIUS : Integer;
HOLE : Pointer;
HOLE_SIZE: Word;
Begin
CENTER_X := LEFT_X_VAL + 1 + (Round ( 24 * SIZE_FACTOR));
CENTER_Y := TOP_Y_VAL + (Round (24 * SIZE_FACTOR));
RADIUS := Round(24 * SIZE_FACTOR);
Circle(CENTER_X,CENTER_Y,RADIUS);
CENTER_X := LEFT_X_VAL + 1 + (Round( 24 * SIZE_FACTOR));
CENTER_Y := TOP_Y_VAL + (Round(15 * SIZE_FACTOR));
RADIUS := Round( 3 * SIZE_FACTOR);
HOLE_SIZE := ImageSize(0,0,4,4);
GetMem(HOLE,HOLE_SIZE);
Circle(CENTER_X,CENTER_Y,RADIUS);
RADIUS := Round( 12 * SIZE_FACTOR);
Arc(CENTER_X,CENTER_Y,90,270,RADIUS);
FloodFill(CENTER_X,CENTER_Y,GetMaxColor); {***}
GetImage((CENTER_X - 2 ),(CENTER_Y - 2 ),
(CENTER_X + 2 ),(CENTER_Y + 2 ),HOLE^);
CENTER_X := LEFT_X_VAL + 1 + (Round( 24 * SIZE_FACTOR));
CENTER_Y := TOP_Y_VAL + (Round(33 * SIZE_FACTOR));
RADIUS := Round( 12 * SIZE_FACTOR);
Arc(CENTER_X,CENTER_Y,270,90,RADIUS);
CENTER_X := LEFT_X_VAL + 1 + (Round( 24 * SIZE_FACTOR));
CENTER_Y := TOP_Y_VAL + (Round(33 * SIZE_FACTOR));
FloodFill(CENTER_X,CENTER_Y,GetMaxColor);
PutImage((CENTER_X - 2 ),(CENTER_Y - 2 ),HOLE^,NotPut);
FreeMem(HOLE,HOLE_SIZE);
End;
Procedure IMAGE_4(lEFT_X_VAL:Integer;TOP_Y_VAL:Integer;SIZE_FACTOR:Real);
{*********************************************************}
{** **}
{** Declair Image 2's values Four Leaf Clover **}
{** **}
{*********************************************************}
Var INDEX : Integer;
IMAGE_4_ARRAY : Array[1..49,1..2] Of Byte;
CENTER_X : Integer;
CENTER_Y : Integer;
Begin
IMAGE_4_ARRAY[1,1] := 26;
IMAGE_4_ARRAY[1,2] := 20;
IMAGE_4_ARRAY[2,1] := 28;
IMAGE_4_ARRAY[2,2] := 4;
IMAGE_4_ARRAY[3,1] := 32;
IMAGE_4_ARRAY[3,2] := 1;
IMAGE_4_ARRAY[4,1] := 37;
IMAGE_4_ARRAY[4,2] := 1;
IMAGE_4_ARRAY[5,1] := 40;
IMAGE_4_ARRAY[5,2] := 4;
IMAGE_4_ARRAY[6,1] := 40;
IMAGE_4_ARRAY[6,2] := 6;
IMAGE_4_ARRAY[7,1] := 42;
IMAGE_4_ARRAY[7,2] := 6;
IMAGE_4_ARRAY[8,1] := 45;
IMAGE_4_ARRAY[8,2] := 9;
IMAGE_4_ARRAY[9,1] := 45;
IMAGE_4_ARRAY[9,2] := 14;
IMAGE_4_ARRAY[10,1] := 42;
IMAGE_4_ARRAY[10,2] := 18;
IMAGE_4_ARRAY[11,1] := 26;
IMAGE_4_ARRAY[11,2] := 20;
IMAGE_4_ARRAY[12,1] := 28;
IMAGE_4_ARRAY[12,2] := 22;
IMAGE_4_ARRAY[13,1] := 42;
IMAGE_4_ARRAY[13,2] := 24;
IMAGE_4_ARRAY[14,1] := 45;
IMAGE_4_ARRAY[14,2] := 28;
IMAGE_4_ARRAY[15,1] := 45;
IMAGE_4_ARRAY[15,2] := 33;
IMAGE_4_ARRAY[16,1] := 42;
IMAGE_4_ARRAY[16,2] := 36;
IMAGE_4_ARRAY[17,1] := 40;
IMAGE_4_ARRAY[17,2] := 36;
IMAGE_4_ARRAY[18,1] := 40;
IMAGE_4_ARRAY[18,2] := 38;
IMAGE_4_ARRAY[19,1] := 37;
IMAGE_4_ARRAY[19,2] := 41;
IMAGE_4_ARRAY[20,1] := 32;
IMAGE_4_ARRAY[20,2] := 41;
IMAGE_4_ARRAY[21,1] := 30;
IMAGE_4_ARRAY[21,2] := 38;
IMAGE_4_ARRAY[22,1] := 28;
IMAGE_4_ARRAY[22,2] := 22;
IMAGE_4_ARRAY[23,1] := 24;
IMAGE_4_ARRAY[23,2] := 22;
IMAGE_4_ARRAY[24,1] := 22;
IMAGE_4_ARRAY[24,2] := 36;
IMAGE_4_ARRAY[25,1] := 18;
IMAGE_4_ARRAY[25,2] := 41;
IMAGE_4_ARRAY[26,1] := 13;
IMAGE_4_ARRAY[26,2] := 41;
IMAGE_4_ARRAY[27,1] := 10;
IMAGE_4_ARRAY[27,2] := 38;
IMAGE_4_ARRAY[28,1] := 10;
IMAGE_4_ARRAY[28,2] := 36;
IMAGE_4_ARRAY[29,1] := 8;
IMAGE_4_ARRAY[29,2] := 36;
IMAGE_4_ARRAY[30,1] := 5;
IMAGE_4_ARRAY[30,2] := 33;
IMAGE_4_ARRAY[31,1] := 5;
IMAGE_4_ARRAY[31,2] := 28;
IMAGE_4_ARRAY[32,1] := 8;
IMAGE_4_ARRAY[32,2] := 24;
IMAGE_4_ARRAY[33,1] := 24;
IMAGE_4_ARRAY[33,2] := 22;
IMAGE_4_ARRAY[34,1] := 24;
IMAGE_4_ARRAY[34,2] := 20;
IMAGE_4_ARRAY[35,1] := 8;
IMAGE_4_ARRAY[35,2] := 18;
IMAGE_4_ARRAY[36,1] := 5;
IMAGE_4_ARRAY[36,2] := 14;
IMAGE_4_ARRAY[37,1] := 5;
IMAGE_4_ARRAY[37,2] := 9;
IMAGE_4_ARRAY[38,1] := 8;
IMAGE_4_ARRAY[38,2] := 6;
IMAGE_4_ARRAY[39,1] := 10;
IMAGE_4_ARRAY[39,2] := 6;
IMAGE_4_ARRAY[40,1] := 10;
IMAGE_4_ARRAY[40,2] := 4;
IMAGE_4_ARRAY[41,1] := 13;
IMAGE_4_ARRAY[41,2] := 1;
IMAGE_4_ARRAY[42,1] := 18;
IMAGE_4_ARRAY[42,2] := 1;
IMAGE_4_ARRAY[43,1] := 22;
IMAGE_4_ARRAY[43,2] := 4;
IMAGE_4_ARRAY[44,1] := 25;
IMAGE_4_ARRAY[44,2] := 20;
IMAGE_4_ARRAY[45,1] := 26;
IMAGE_4_ARRAY[45,2] := 34;
IMAGE_4_ARRAY[46,1] := 28;
IMAGE_4_ARRAY[46,2] := 42;
IMAGE_4_ARRAY[47,1] := 30;
IMAGE_4_ARRAY[47,2] := 44;
IMAGE_4_ARRAY[48,1] := 36;
IMAGE_4_ARRAY[48,2] := 46;
IMAGE_4_ARRAY[49,1] := 42;
IMAGE_4_ARRAY[49,2] := 47;
For INDEX := 1 To 48 Do Begin
Line((Round(LEFT_X_VAL + (IMAGE_4_ARRAY[INDEX,1] * SIZE_FACTOR))),
(Round(TOP_y_VAL + (IMAGE_4_ARRAY[INDEX,2] * SIZE_FACTOR))),
(Round(LEFT_X_VAL + (IMAGE_4_ARRAY[INDEX + 1,1] * SIZE_FACTOR))),
(Round(TOP_Y_VAL + (IMAGE_4_ARRAY[INDEX + 1,2] * SIZE_FACTOR))));
End;
CENTER_X := LEFT_X_VAL + 1 + (Round ( 10 * SIZE_FACTOR));
CENTER_Y := TOP_Y_VAL + (Round (10 * SIZE_FACTOR));
FloodFill(CENTER_X,CENTER_Y,GetMaxColor);
CENTER_X := LEFT_X_VAL + 1 + (Round ( 30 * SIZE_FACTOR));
CENTER_Y := TOP_Y_VAL + (Round (10 * SIZE_FACTOR));
FloodFill(CENTER_X,CENTER_Y,GetMaxColor);
CENTER_X := LEFT_X_VAL + 1 + (Round ( 10 * SIZE_FACTOR));
CENTER_Y := TOP_Y_VAL + (Round (30 * SIZE_FACTOR));
FloodFill(CENTER_X,CENTER_Y,GetMaxColor);
CENTER_X := LEFT_X_VAL + 1 + (Round ( 30 * SIZE_FACTOR));
CENTER_Y := TOP_Y_VAL + (ROund (30 * SIZE_FACTOR));
FloodFill(CENTER_X,CENTER_Y,GetMaxColor);
End;
Procedure IMAGE_5(lEFT_X_VAL:Integer;TOP_Y_VAL:Integer;SIZE_FACTOR:Real);
{*********************************************************}
{** **}
{** Declare Image 2's values Diamond **}
{** **}
{*********************************************************}
Var INDEX : Integer;
IMAGE_5_ARRAY : Array[1..34,1..4] Of Byte;
CENTER_X : Integer;
CENTER_Y : Integer;
Begin
IMAGE_5_ARRAY[1,1] := 2;
IMAGE_5_ARRAY[1,2] := 14;
IMAGE_5_ARRAY[1,3] := 9;
IMAGE_5_ARRAY[1,4] := 7;
IMAGE_5_ARRAY[2,1] := 9;
IMAGE_5_ARRAY[2,2] := 7;
IMAGE_5_ARRAY[2,3] := 42;
IMAGE_5_ARRAY[2,4] := 7;
IMAGE_5_ARRAY[3,1] := 42;
IMAGE_5_ARRAY[3,2] := 7;
IMAGE_5_ARRAY[3,3] := 49;
IMAGE_5_ARRAY[3,4] := 14;
IMAGE_5_ARRAY[4,1] := 2;
IMAGE_5_ARRAY[4,2] := 14;
IMAGE_5_ARRAY[4,3] := 25;
IMAGE_5_ARRAY[4,4] := 34;
IMAGE_5_ARRAY[5,1] := 25;
IMAGE_5_ARRAY[5,2] := 34;
IMAGE_5_ARRAY[5,3] := 49;
IMAGE_5_ARRAY[5,4] := 14;
IMAGE_5_ARRAY[6,1] := 2;
IMAGE_5_ARRAY[6,2] := 14;
IMAGE_5_ARRAY[6,3] := 49;
IMAGE_5_ARRAY[6,4] := 14;
IMAGE_5_ARRAY[7,1] := 4;
IMAGE_5_ARRAY[7,2] := 14;
IMAGE_5_ARRAY[7,3] := 7;
IMAGE_5_ARRAY[7,4] := 9;
IMAGE_5_ARRAY[8,1] := 7;
IMAGE_5_ARRAY[8,2] := 9;
IMAGE_5_ARRAY[8,3] := 13;
IMAGE_5_ARRAY[8,4] := 7;
IMAGE_5_ARRAY[9,1] := 7;
IMAGE_5_ARRAY[9,2] := 9;
IMAGE_5_ARRAY[9,3] := 10;
IMAGE_5_ARRAY[9,4] := 14;
IMAGE_5_ARRAY[10,1] := 10;
IMAGE_5_ARRAY[10,2] := 14;
IMAGE_5_ARRAY[10,3] := 17;
IMAGE_5_ARRAY[10,4] := 9;
IMAGE_5_ARRAY[11,1] := 13;
IMAGE_5_ARRAY[11,2] := 7;
IMAGE_5_ARRAY[11,3] := 17;
IMAGE_5_ARRAY[11,4] := 9;
IMAGE_5_ARRAY[12,1] := 17;
IMAGE_5_ARRAY[12,2] := 9;
IMAGE_5_ARRAY[12,3] := 26;
IMAGE_5_ARRAY[12,4] := 7;
IMAGE_5_ARRAY[13,1] := 17;
IMAGE_5_ARRAY[13,2] := 9;
IMAGE_5_ARRAY[13,3] := 16;
IMAGE_5_ARRAY[13,4] := 14;
IMAGE_5_ARRAY[14,1] := 17;
IMAGE_5_ARRAY[14,2] := 9;
IMAGE_5_ARRAY[14,3] := 25;
IMAGE_5_ARRAY[14,4] := 14;
IMAGE_5_ARRAY[15,1] := 26;
IMAGE_5_ARRAY[15,2] := 7;
IMAGE_5_ARRAY[15,3] := 36;
IMAGE_5_ARRAY[15,4] := 10;
IMAGE_5_ARRAY[16,1] := 36;
IMAGE_5_ARRAY[16,2] := 10;
IMAGE_5_ARRAY[16,3] := 42;
IMAGE_5_ARRAY[16,4] := 14;
IMAGE_5_ARRAY[17,1] := 36;
IMAGE_5_ARRAY[17,2] := 10;
IMAGE_5_ARRAY[17,3] := 36;
IMAGE_5_ARRAY[17,4] := 14;
IMAGE_5_ARRAY[18,1] := 36;
IMAGE_5_ARRAY[18,2] := 10;
IMAGE_5_ARRAY[18,3] := 39;
IMAGE_5_ARRAY[18,4] := 7;
IMAGE_5_ARRAY[19,1] := 39;
IMAGE_5_ARRAY[19,2] := 7;
IMAGE_5_ARRAY[19,3] := 44;
IMAGE_5_ARRAY[19,4] := 9;
IMAGE_5_ARRAY[20,1] := 44;
IMAGE_5_ARRAY[20,2] := 9;
IMAGE_5_ARRAY[20,3] := 42;
IMAGE_5_ARRAY[20,4] := 14;
IMAGE_5_ARRAY[21,1] := 44;
IMAGE_5_ARRAY[21,2] := 9;
IMAGE_5_ARRAY[21,3] := 46;
IMAGE_5_ARRAY[21,4] := 14;
IMAGE_5_ARRAY[22,1] := 4;
IMAGE_5_ARRAY[22,2] := 14;
IMAGE_5_ARRAY[22,3] := 18;
IMAGE_5_ARRAY[22,4] := 28;
IMAGE_5_ARRAY[23,1] := 10;
IMAGE_5_ARRAY[23,2] := 14;
IMAGE_5_ARRAY[23,3] := 18;
IMAGE_5_ARRAY[23,4] := 28;
IMAGE_5_ARRAY[24,1] := 10;
IMAGE_5_ARRAY[24,2] := 14;
IMAGE_5_ARRAY[24,3] := 22;
IMAGE_5_ARRAY[24,4] := 28;
IMAGE_5_ARRAY[25,1] := 16;
IMAGE_5_ARRAY[25,2] := 14;
IMAGE_5_ARRAY[25,3] := 22;
IMAGE_5_ARRAY[25,4] := 28;
IMAGE_5_ARRAY[26,1] := 25;
IMAGE_5_ARRAY[26,2] := 14;
IMAGE_5_ARRAY[26,3] := 22;
IMAGE_5_ARRAY[26,4] := 28;
IMAGE_5_ARRAY[27,1] := 22;
IMAGE_5_ARRAY[27,2] := 28;
IMAGE_5_ARRAY[27,3] := 25;
IMAGE_5_ARRAY[27,4] := 34;
IMAGE_5_ARRAY[28,1] := 25;
IMAGE_5_ARRAY[28,2] := 14;
IMAGE_5_ARRAY[28,3] := 28;
IMAGE_5_ARRAY[28,4] := 28;
IMAGE_5_ARRAY[29,1] := 36;
IMAGE_5_ARRAY[29,2] := 14;
IMAGE_5_ARRAY[29,3] := 28;
IMAGE_5_ARRAY[29,4] := 28;
IMAGE_5_ARRAY[30,1] := 42;
IMAGE_5_ARRAY[30,2] := 14;
IMAGE_5_ARRAY[30,3] := 28;
IMAGE_5_ARRAY[30,4] := 28;
IMAGE_5_ARRAY[31,1] := 42;
IMAGE_5_ARRAY[31,2] := 14;
IMAGE_5_ARRAY[31,3] := 37;
IMAGE_5_ARRAY[31,4] := 24;
IMAGE_5_ARRAY[32,1] := 46;
IMAGE_5_ARRAY[32,2] := 14;
IMAGE_5_ARRAY[32,3] := 37;
IMAGE_5_ARRAY[32,4] := 24;
IMAGE_5_ARRAY[33,1] := 25;
IMAGE_5_ARRAY[33,2] := 14;
IMAGE_5_ARRAY[33,3] := 36;
IMAGE_5_ARRAY[33,4] := 10;
IMAGE_5_ARRAY[34,1] := 28;
IMAGE_5_ARRAY[34,2] := 28;
IMAGE_5_ARRAY[34,3] := 25;
IMAGE_5_ARRAY[34,4] := 34;
For INDEX := 1 To 34 Do Begin
Line((Round(LEFT_X_VAL + (IMAGE_5_ARRAY[INDEX,1] * SIZE_FACTOR))),
(Round(TOP_y_VAL + (IMAGE_5_ARRAY[INDEX,2] * SIZE_FACTOR))),
(Round(LEFT_X_VAL + (IMAGE_5_ARRAY[INDEX,3] * SIZE_FACTOR))),
(Round(TOP_Y_VAL + (IMAGE_5_ARRAY[INDEX,4] * SIZE_FACTOR))));
End;
CENTER_X := LEFT_X_VAL + (Round ( 12 * SIZE_FACTOR));
CENTER_Y := TOP_Y_VAL + (Round (15 * SIZE_FACTOR));
FloodFill(CENTER_X,CENTER_Y,GetMaxColor);
CENTER_X := LEFT_X_VAL + (Round ( 40 * SIZE_FACTOR));
CENTER_Y := TOP_Y_VAL + (Round (10 * SIZE_FACTOR));
FloodFill(CENTER_X,CENTER_Y,GetMaxColor);
CENTER_X := LEFT_X_VAL + 1 + (Round ( 36 * SIZE_FACTOR));
CENTER_Y := TOP_Y_VAL + (Round (18 * SIZE_FACTOR));
FloodFill(CENTER_X,CENTER_Y,GetMaxColor);
End;
Procedure MAKE_MENU;
{**********************************************************}
{** **}
{** **}
{** **}
{**********************************************************}
Begin
ClearDevice;
IMAGE_1(0,0,0.5);
IMAGE_2(49,0,0.5);
IMAGE_3(98,0,0.5);
IMAGE_4(148,0,0.5);
IMAGE_5(197,0,0.5);
IMAGE_1(246,0,0.5);
IMAGE_2(290,0,0.5);
IMAGE_3(290,45,0.5);
IMAGE_4(290,89,0.5);
IMAGE_5(290,134,0.5);
IMAGE_1(290,173,0.5);
IMAGE_2(246,173,0.5);
IMAGE_3(197,173,0.5);
IMAGE_4(148,173,0.5);
IMAGE_5(98,173,0.5);
IMAGE_1(49,173,0.5);
IMAGE_2(0,173,0.5);
IMAGE_3(0,134,0.5);
IMAGE_4(0,89,0.5);
IMAGE_5(0,45,0.5);
End;
Procedure SONG;
{************************************************************}
{** **}
{** This procedure plays a few bars of On a Clear Day **}
{** **}
{************************************************************}
Var
S,Q,H,T,W,AL,ASL,BL,DQ,ET,TE,
C,CS,D,DS,E,F,FS,G,GS,A,AS,B,
CH,CSH,DH,DSH,EH,FH,FSH,GH,GSH,AH,ASH,BH :Integer;
Procedure PLAY (NOTE : Integer; TIME : Integer);
{*********************************************************}
{** PLAY Sub procedure in Song **}
{*********************************************************}
Begin
Sound (NOTE);
Delay (TIME);
NoSound;
End;
Procedure MAIN_SOUND;
{*********************************************************}
{** MAIN_SOUND Sub procedure in Song **}
{*********************************************************}
Begin
PLAY (G,Q);
PLAY (B,Q);
PLAY (EH,H);
PLAY (B,H);
PLAY (B,H);
PLAY (A,Q);
PLAY (B,Q);
PLAY (CH,H);
PLAY (B,H);
PLAY (G,W);
PLAY (A,W);
PLAY (G,W);
End; {MAIN_SOUND}
{*********************************************************}
{** SONG **}
{*********************************************************}
Begin
W := 2160; {times}
Q := 540;
H := 1080;
T := 1620;
DQ := 808;
ET := 272;
AL := 220; {tones}
ASL := 233;
BL := 247;
C := 262;
CS := 277;
D := 294;
DS := 311;
E := 330;
F := 349;
FS := 370;
G := 392;
GS := 415;
A := 440;
AS := 466;
B := 494;
CH := 523;
CSH := 554;
DH := 587;
DSH := 622;
EH := 659;
FH := 699;
FSH := 740;
GH := 784;
GSH := 831;
AH := 880;
ASH := 932;
BH := 988;
MAIN_SOUND;
End; {Song}
Procedure PROGRAM_INFO;
{**********************************************************}
{** **}
{** PROGRAM_INFO **}
{** **}
{**********************************************************}
Var ANSWER_CHAR : Char ;
Begin {PROGRAM INFO}
MoveTo(0,30);
OutText(' ESPTEST is a copyright 1991 by Phil Mosier');
MoveTo(0,40);
OutText(' Each trial is saved in full detail to be used ');
MoveTo(0,50);
OutText('latter for a full analysis. Each ASCII record ');
MoveTo(0,60);
OutText('saves: the time, date, color of the screen, type ');
MoveTo(0,70);
OutText('of test, elapsed time in seconds, the image of the');
MoveTo(0,80);
OutText('target, the place of all the targets on the ');
MoveTo(0,90);
OutText('screen, the current name of the record file. ');
MoveTo(0,100);
OutText(' The analysis screen computes the probability,');
MoveTo(0,110);
OutText('the confidence level, and the next level ');
MoveTo(0,120);
OutText('analysises the differences among proportions.');
MoveTo(0,130);
OutText(' For Registration send $35.oo plus $4.oo for');
MoveTo(0,140);
OutText('Postage and Handling to:');
MoveTo(0,160);
OutText(' Phil Mosier ');
MoveTo(0,170);
OutText(' 2728 Bridgeford Dr.');
MoveTo(0,180);
OutText(' Sacramento,CA 95833');
MoveTo(0,190);
OutText(' Press any key');
ANSWER_CHAR := ReadKey;
End;
Procedure BOXES;
{**********************************************************}
{** **}
{** BOXES **}
{** **}
{**********************************************************}
Begin {BOXES}
ClearDevice;
Line(50,30,250,30);
Line(50,50,250,50);
Line(50,70,250,70);
Line(50,30,50,70);
Line(90,30,90,70);
Line(130,30,130,70);
Line(170,30,170,70);
Line(210,30,210,70);
Line(250,30,250,85);
Line(250,85,315,85);
Line(50,85,250,85);
Line(50,105,250,105);
Line(50,125,250,125);
Line(50,85,50,125);
Line(90,85,90,125);
Line(130,85,130,125);
Line(170,85,170,125);
Line(210,85,210,125);
Line(250,85,250,180);
Line(50,145,130,145);
Line(50,165,130,165);
Line(50,185,130,185);
Line(50,145,50,185);
Line(90,145,90,185);
Line(130,125,130,185);
IMAGE_1(50,0,0.5);
IMAGE_2(90,0,0.5);
IMAGE_3(130,0,0.5);
IMAGE_4(170,0,0.5);
IMAGE_5(210,0,0.5);
MoveTo(10,33);
OutText('Hits');
MoveTo(10,53);
OutText('Misses');
MoveTo(10,88);
OutText('Hits');
MoveTo(10,108);
OutText('Misses');
MoveTo(10,145);
OutText('Hits');
MoveTo(10,165);
OutText('Misses');
MoveTo(50,74);
OutText('Place 1 2 3 4 5');
MoveTo(45,126);
OutText('Shorter Longer');
MoveTo(45,135);
OutText('Times Times');
MoveTo(0,190);
OutText(' Enter Q to QUIT and return to MENU');
End; {BOXES}
End.